<?php
/* Google翻译PHP接口
 * 官成文 2009-03-28
* http://blog.csdn.net/aprin/
* 注意：如果翻译文本为UTF-8编码，则要删去mb_convert_encoding函数
*/

class Google_API_translator {
	public $url = "http://translate.google.com/translate_t";
	public $text = "";//翻译文本
	public $out = ""; //翻译输出

	function setText($text){
		$this->text = $text;
	}

	function translate() {
		$this->out = "";

		$gphtml = $this->postPage($this->url, $this->text);

		//提取翻译结果
		$out = substr($gphtml, strpos($gphtml, "

				"));
				$out = substr($out, 29);
				$out = substr($out, 0, strpos($out, "

						"));

						$this->out = $out;
						return $this->out;
}

function postPage($url, $text) {
$html ='';

if($url != '' && $text != '') {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);

/*
*hl – 界面语言，此处无用。
*langpair – src lang to dest lang
*ie – urlencode的编码方式?
*text – 要翻译的文本
*/
$fields = array('hl=zh-CN', 'langpair=zh-CN|en', 'ie=UTF-8','text='.urlencode(mb_convert_encoding($text, 'UTF-8', 'GB2312')));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));

$html = curl_exec($ch);
if(curl_errno($ch)) $html = '';
curl_close ($ch);
}
return $html;
						}
}

//just for test
$g = new Google_API_translator();
$g->setText('我爱Java！');
$g->translate();
echo $g->out;
?>

?>